[INFO] fetching crate prefixopt_derive 0.4.0...
[INFO] fixing prefixopt_derive-0.4.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate prefixopt_derive 0.4.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate prefixopt_derive 0.4.0
[INFO] finished tweaking crates.io crate prefixopt_derive 0.4.0
[INFO] tweaked toml for crates.io crate prefixopt_derive 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate prefixopt_derive 0.4.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 20 packages to latest compatible versions
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.6.1)
[INFO] [stderr]       Adding quote v0.3.15 (available: v1.0.46)
[INFO] [stderr]       Adding syn v0.11.11 (available: v2.0.118)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `prefixopt_derive` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405
[INFO] running `Command { std: "docker" "start" "04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `prefixopt_derive` (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]     Checking unicode-xid v0.0.4
[INFO] [stderr]     Checking scopeguard v0.2.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]     Checking quote v0.3.15
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking map_in_place v0.1.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking syn v0.11.11
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]     Checking prefixopt v0.4.0
[INFO] [stderr]     Checking prefixopt_derive v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating bin/example.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/structs.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/enums.rs from 2015 edition to 2018
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.10s
[INFO] [stderr] crater-edition-check: prefixopt_derive v0.4.0 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr]    Compiling prefixopt_derive v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/enum_data.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &::std::fmt::Display)
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout]    |                                      +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/enum_data.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &::std::fmt::Display)
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout]    |                                      +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/enum_data.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &::std::fmt::Display)
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout]    |                                      +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> bin/example.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, PrefixOpt)]
[INFO] [stdout]   |                 -^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `A` is not local
[INFO] [stdout]   |                 `PrefixOpt` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> bin/example.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, PrefixOpt)]
[INFO] [stdout]   |                 -^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `A` is not local
[INFO] [stdout]   |                 `PrefixOpt` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/enums.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `A` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/enums.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              -^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Either` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_Either`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/structs.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `A` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/structs.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `A` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/structs.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `B` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_B` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/structs.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `A` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/structs.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |     #[derive(PrefixOpt, Default, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              -^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `A` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/structs.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              -^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `A` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_A` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/structs.rs:71:14
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              -^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `B` is not local
[INFO] [stdout]    |              `PrefixOpt` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_PREFIXOPT_FOR_B` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `PrefixOpt` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `PrefixOpt` may come from an old version of the `prefixopt_derive` crate, try updating your dependency with `cargo update -p prefixopt_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.08s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/enum_data.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &::std::fmt::Display)
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout]    |                                      +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking prefixopt_derive v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed src/enum_data.rs (3 fixes)
[INFO] [stderr]    Migrating bin/example.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/enums.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/structs.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.45s
[INFO] [stderr] crater-edition-check: prefixopt_derive v0.4.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking prefixopt_derive v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/enum_data.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout]    |                                          ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout] 51 +                     .map(|id| id as &dyn ::std::fmt::Display )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/enum_data.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout]    |                                          ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout] 51 +                     .map(|id| id as &dyn ::std::fmt::Display )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/enum_data.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout]    |                                          ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -                     .map(|id| id as &dyn (::std::fmt::Display))
[INFO] [stdout] 51 +                     .map(|id| id as &dyn ::std::fmt::Display )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]  --> bin/example.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, PrefixOpt)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]  --> bin/example.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, PrefixOpt)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/enums.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/structs.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/structs.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/structs.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/enums.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/structs.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/structs.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |     #[derive(PrefixOpt, Default, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/structs.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/structs.rs:71:14
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(PrefixOpt, Debug, PartialEq, Eq)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `PrefixOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `prefixopt_derive` (bin "example") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `prefixopt_derive` (bin "example" test) due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `prefixopt_derive` (test "structs") due to 7 previous errors
[INFO] [stderr] error: could not compile `prefixopt_derive` (test "enums") due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405", kill_on_drop: false }`
[INFO] [stdout] 04d884d289225ae97ada4230a169c62a35e593a5c5ab27305aa90f5132934405
